package com.fourtwenty.hemptress.plugin;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import com.fourtwenty.hemptress.plugin.annotate.Plugin;

public class PluginDescriptor {
	private String name;
	private List<String> dependencies = new ArrayList<>();
	private List<Class<? extends Plugin>> classes = new ArrayList<>();
	private Map<String, Object> instances = new HashMap<>();
	private boolean ready = false;
	
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public List<Class<? extends Plugin>> getClasses() {
		return classes;
	}
	public void setClasses(List<Class<? extends Plugin>> classes) {
		this.classes = classes;
	}
	public List<String> getDependencies() {
		return dependencies;
	}
	public void setDependencies(List<String> dependencies) {
		this.dependencies = dependencies;
	}
	public boolean isReady() {
		return ready;
	}
	public void setReady(boolean ready) {
		this.ready = ready;
	}
	public Map<String, Object> getInstances() {
		return instances;
	}
	public void setInstances(Map<String, Object> instances) {
		this.instances = instances;
	}
	@Override
	public String toString() {
		return "PluginDescriptor [\n" +
				"\tname=" + name + ", \n" +
				"\tdependencies="	+ dependencies + ", \n" +
				"\tclasses=" + classes + ", \n" +
				"\tinstances=" + instances + ", \n" +
				"\tready=" + ready + 
			"]\n";
	}
}
